package net.ericaro.neojavagen.expressions;

/**
 * <b>AdditiveExpression</b> ::= <{@link net .ericaro .neojavagen .expressions .MultiplicativeExpression MultiplicativeExpression}> <
 * {@link net .ericaro .neojavagen .expressions .AdditiveExpressionRest AdditiveExpressionRest}>?
 * 
 * @author eric@ericaro.net
 */
public class AdditiveExpression extends net.ericaro.neojavagen.JavaPartComposition {
	private net.ericaro.neojavagen.expressions.AdditiveExpressionRest additiveExpressionRest;

	private net.ericaro.neojavagen.expressions.MultiplicativeExpression multiplicativeExpression;

	public AdditiveExpression(net.ericaro.neojavagen.expressions.MultiplicativeExpression multiplicativeExpression) {
		this.multiplicativeExpression = multiplicativeExpression;
		this.additiveExpressionRest = null;
	}

	public AdditiveExpression(net.ericaro.neojavagen.expressions.MultiplicativeExpression multiplicativeExpression, net.ericaro.neojavagen.expressions.AdditiveExpressionRest additiveExpressionRest) {
		super();
		this.multiplicativeExpression = multiplicativeExpression;
		this.additiveExpressionRest = additiveExpressionRest;
	}

	public net.ericaro.neojavagen.expressions.AdditiveExpressionRest getAdditiveExpressionRest() {
		return additiveExpressionRest;
	}

	public net.ericaro.neojavagen.expressions.MultiplicativeExpression getMultiplicativeExpression() {
		return multiplicativeExpression;
	}

	public void setAdditiveExpressionRest(net.ericaro.neojavagen.expressions.AdditiveExpressionRest additiveExpressionRest) {
		this.additiveExpressionRest = additiveExpressionRest;
	}

	public void setMultiplicativeExpression(net.ericaro.neojavagen.expressions.MultiplicativeExpression multiplicativeExpression) {
		this.multiplicativeExpression = multiplicativeExpression;
	}

	@Override
	public java.lang.String toString() {
		return print(multiplicativeExpression, additiveExpressionRest);
	}
}
